Visit StickyLock

BetterVR release deepens Breath of the Wild VR support

BetterVR release deepens Breath of the Wild VR support
BetterVR release deepens Breath of the Wild VR support

Modder Crementif has released a new version of the BetterVR mod, further improving The Legend of Zelda: Breath of the Wild in VR and teasing a possible Mario Kart 8 VR port. The latest release builds on a project that first arrived around seven months ago on the Cemu emulator and has since been updated repeatedly.

BetterVR has already received 20 updates since the first version launched. Those updates have added substantial improvements, fixes and polish to the experience. The modder is still planning further changes, and the next wave of development is set to include multiplayer support, although that still needs to be ported to the newer Cemu version and synced properly. A major performance update is also planned, with the stereo rendering system due for a rework that is intended to address several important bugs. Linux support and dual-wielding are also listed among the planned additions.

The current version already includes a broad set of features. Breath of the Wild is fully stereo-rendered with 6DOF and full roomscale support, and no alternate eye rendering is used. Full hands and arms support is included, allowing the player character to wear different outfits and equipment in VR. The mod also allows weapons, torches and bokoblin arms to be wielded in combat. Gestures can be used to equip and throw weapons, while motion controls allow interaction with the world, including puzzle solving and starting fires. BetterVR only modifies code rather than game data, which means most other mods should remain compatible. An optional third-person mode is also available.

BetterVR uses OpenXR, which is supported on major headsets including the Valve Index, HTC Vive, Oculus Rift, Meta Quest and Windows Mixed Reality devices. Controller bindings are currently available only for Oculus Touch controllers, although there may be ways to configure OpenXR mappings through SteamVR or other applications. For Meta Quest users, the recommended route is ALVR, Virtual Desktop or Steam Link rather than Meta or Oculus Link, because Link has poor frame interpolation and can make the game appear to run worse than it really does.

Crementif has described the technical approach behind the mod in some detail. BetterVR uses a Vulkan layer that sits between the Cemu emulator and the graphics card. That layer captures the game’s final rendered image just before it would normally appear on screen and redirects it to a VR headset instead.

OpenXR is part of the headset side of the process, but it does not work cleanly with the interception method used to capture the image. To work around that, the image is routed through D3D12 first, which gives OpenXR a rendering path it can handle properly.

Capturing a flat image and placing it inside a headset does not create true 3D, so Crementif also had to modify the game itself. The work involved delving into the code that runs on the Wii U’s PowerPC processor and rewriting parts of it so that two slightly different images are rendered for each frame, one for each eye, before the rest of the game updates. Other adjustments are made frame by frame as well, including changes to the camera angle and the character’s hand positions, so that the scene lines up correctly in VR.

The hardest part of the project was not the VR rendering method but reverse-engineering the game’s code. Breath of the Wild runs on a custom engine that is largely undocumented, which meant Crementif had to work out how the game operated from scratch before any rewriting could begin. An unofficial and incomplete decompilation project provided some help, but the reverse-engineering work alone reportedly took thousands of hours.

Join the Discussion


Visit StickyLock
Back to top